In a computer system, a single memory device may serve a number of components, such as a processor, a video card and a video port. Typically, the memory device serves each system component in turn and, while one component is being serviced, the other components must wait. The demands on the system memory vary for each request and for each component. For example, the number of requests by the processor depends upon the particular code that is executing at any one time. On the other hand, the number and size of memory requests by a video card are determined by the characteristics of the display.
Typically, the video chip must access the memory often in order to continuously drive the display. Each pixel of the display corresponds to a certain group of bits in the memory. The number of memory bits per pixel depends upon several factors, including the color depth selected. The screen refresh rate affects the amount of pixel information that has to be transferred from memory to the video chip. The display type also affects the volume of data that is requested by the video chip because some displays require more processing than others. For example, in a dual scan transistor network (DSTN) display the top and bottom of the screen are refreshed at the same time. As a result, the refresh rate is effectively doubled for DSTN displays. The increased screen refresh rate requires the video chip to process twice as much pixel data, which also requires more data reads from memory.
Certain areas of the display, such as video windows, may require more video data because of increased screen resolution or color depth. Block transfer is another feature which increases the data that is transferred between the memory and the video chip. When a portion of the display is moved, such as in a xe2x80x9cdrag and dropxe2x80x9d operation, the block transfer unit must read the pixel data at the old location, copy the data to a new location and then erase or overwrite the old pixel data. These operations increase the volume of data that is processed by the video chip and increase the amount of data that is transferred between the video chip and the system memory.
In prior art systems, a look-up table was created for individual components, such as video chips, so that users could determine whether the component would operate under various conditions. The table tracked such factors as the memory clock rate, video clock rate, color depth, refresh rate and graphics mode. If a customer wanted to use a device, then they used the table to look up specific parameters for a desired application and determined whether the chip could support that application.
As the number of potential screen resolutions, clock rates, color depth choices and other factors increased, the prior art look-up tables became bigger and bigger in order to track each parameter. Another problem with the prior art tables is that the device manufacturer had to test every possible parameter combination in the table. The size of the table allowed for errors to made due to the increasing number of variables and potential combinations.
An additional problem for prior art systems is the nature of the computer industry. As new components are developed and old components are improved, new parameters and capabilities are introduced. In many cases, these improvements are not included in look-up tables which pre-dated the improvement. Accordingly, if a customer wanted to change a clock rate, use a different refresh rate or change some other parameter for a device, then they would have to retest the component using the new capability and add the new variables to the look-up table.
The problems of the prior art are solved in a system and method which uses software to model the behavior of a component in real-time in order to determine whether the system will support various operating conditions. Rather than using a static and potentially out of date table, the present invention uses an algorithm that determines the component""s current configuration and evaluates whether the component will work using a different configuration.
For example, in a video chip embodiment, the present invention reads certain registers that show the current clock rates, color depth and screen refresh rate. Using that information, the algorithm determines whether the video chip can receive and process enough pixel data from the system memory to support a different video mode. If the system""s current operating parameters will allow the video chip to receive sufficient data from the memory, then the algorithm calculates which settings need to be programmed into the chip for the new mode.
This system allows a chip user, on a dynamic basis, to evaluate changes to the clock rates, screen resolution and/or screen refresh rate. The user can also evaluate new modes or plug-in devices that may effect the data rate that is required by the video chip.
It is a feature of the present invention to provide a system and method in which operating conditions for a device can be modeled in real-time using a software algorithm. The algorithm is used to determine whether a common system resource can support the device under the selected conditions.
It is another feature of the present invention to provide a system and method that is capable of determining, in real-time, whether a system resource that supports two or more system components can continue to support those components under various operating conditions.
It is a further feature of the present invention to modify certain parameters of a system component so that a common system resource will continue to support the modified component.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.